# Contributor: August Klein <amatcoder@gmail.com>
# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
pkgname=py3-cryptography
pkgver=42.0.5
pkgrel=1
pkgdesc="Cryptographic recipes and primitives for Python"
url="https://cryptography.io/"
arch="all"
license="Apache-2.0 OR BSD-3-Clause"
depends="python3 py3-cffi"
makedepends="
	libffi-dev
	openssl-dev>3
	py3-flit-core
	py3-gpep517
	py3-setuptools
	py3-setuptools-rust
	py3-wheel
	python3-dev
	"
checkdepends="
	py3-certifi
	py3-hypothesis
	py3-iso8601
	py3-pretend
	py3-pytest
	py3-pytest-benchmark
	py3-pytest-subtests
	py3-pytest-xdist
	py3-tz
	"
subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/c/cryptography/cryptography-$pkgver.tar.gz
	https://files.pythonhosted.org/packages/source/c/cryptography_vectors/cryptography_vectors-$pkgver.tar.gz
	skip-aead-tests-on-32-bit.patch
	"
builddir="$srcdir/cryptography-$pkgver"
options="net"

replaces="py-cryptography" # Backwards compatibility
provides="py-cryptography=$pkgver-r$pkgrel" # Backwards compatibility

# secfixes:
#   41.0.2-r0:
#     - CVE-2023-38325
#   39.0.1-r0:
#     - CVE-2023-23931
#   3.2.2-r0:
#     - CVE-2020-36242
#   3.2.1-r0:
#     - CVE-2020-25659

build() {
	gpep517 build-wheel \
		--wheel-dir .dist \
		--output-fd 3 3>&1 >&2

	# prepare cryptography vectors for testing
	cd "$srcdir/cryptography_vectors-$pkgver"
	gpep517 build-wheel \
		--wheel-dir .dist \
		--output-fd 3 3>&1 >&2
}

check() {
	python3 -m venv --clear --without-pip --system-site-packages test-env
	test-env/bin/python3 -m installer .dist/cryptography*.whl
	test-env/bin/python3 -m installer "$srcdir"/cryptography_vectors-$pkgver/.dist/cryptography*.whl
	test-env/bin/python3 -m pytest -n $JOBS
}

package() {
	python3 -m installer -d "$pkgdir" \
		.dist/cryptography-*.whl
}

sha512sums="
5524fd230b55580a2c647a0a78197a783e201fdfa8b3177b72c6d7b689afd76a689e4fe3593120d3adb7ee5cc4adf9211e8deedc8fab355e9ed70076db09f68b  cryptography-42.0.5.tar.gz
38af39f8cb869af630d4b75d7a62ba9778fd59ceee2858504655d9065a82d2365644c9ab301c90f3ebd9f32f2e04867650b6d392c1f2b6880e3bb0c216e6a419  cryptography_vectors-42.0.5.tar.gz
670ecc2d95083186bf7e986b18093ac289c218e7ab77b54258e21d09fd5729f551cf876645f2a175086c1a089926a367426d7745ef406efc3d1d82286d454323  skip-aead-tests-on-32-bit.patch
"
